import instance from '@/utils/axios.js'

// home首页接口

// 1.文章频道列表
function getChannelList () {
  return instance({
    url: '/v1_0/channels',
    method: 'get'
  })
}
//导出接口
export { getChannelList }

// 2.文章列表
function getArticleList ({ channel_id, timestamp }) {
  return instance({
    url: '/v1_0/articles',
    method: 'get',
    params: {
      // 固定参数,写1即可
      with_top: 1,
      channel_id,
      timestamp
    }
  })
}
// 导出接口
export { getArticleList }

// 3.文章详情信息
function getArticleInfo (id) {
  // 参数是文章id:直接在路劲后面写（id作为路径的一部分） 格式：url:id
  return instance({
    url: `/v1_0/articles/${id}`,
    method: 'get'
  })
}
// 导出接口
export { getArticleInfo }

//4.关注接口
// 4.1关注
function addFollowing (target) {
  return instance({
    url: '/v1_0/user/followings',
    method: 'post',
    data: { target }
  })
}
//4.2取消关注
function removeFollowing (target) {
  // 参数是用户id：直接在路径后面写（id为路径一部分）
  return instance({
    url: `/v1_0/user/followings/${target}`,
    method: 'delete'
  })
}
// 导出接口
export { addFollowing, removeFollowing }

//5.点赞接口
// 5.1关注
function addLikings (target) {
  return instance({
    url: '/v1_0/article/likings',
    method: 'post',
    data: { target }
  })
}
//5.2取消点赞
function removeLikings (target) {
  // 参数是文本id：直接在路径后面写（id为路径一部分）
  return instance({
    url: `/v1_0/article/likings/${target}`,
    method: 'delete'
  })
}
// 导出接口
export { addLikings, removeLikings }

// 6不喜欢接口
//6.1 不喜欢接口
function addDisLikings (target) {
  return instance({
    url: '/v1_0/article/dislikes',
    method: 'post',
    data: { target }
  })
}
//6.2取消不喜欢
function removeDisLikings (target) {
  // 参数是文本id：直接在路径后面写（id为路径一部分）
  return instance({
    url: `/v1_0/article/dislikes/${target}`,
    method: 'delete'
  })
}
// 导出接口
export { addDisLikings, removeDisLikings }

// 7.搜索推荐词列表
function getSuggestion (q) {
  return instance({
    url: '/v1_0/suggestion',
    method: 'get',
    params: { q }
  })
}
// 导出接口
export { getSuggestion }

// 8.搜索结果列表
function getSearchList ({ page, q }) {
  return instance({
    url: '/v1_0/search',
    method: 'get',
    params: {
      per_page: 10,
      page,
      q
    }
  })
}

export { getSearchList }
